// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameMode.h"
#include "DemoGameMode.generated.h"

class ADemoCharacter;
class ULineReplicationGraph;
/**
 * 启动核心类
 */
UCLASS()
class LINE_RG_DEMO_API ADemoGameMode : public AGameMode
{
	GENERATED_BODY()

public:

protected:
	virtual void InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) override;
	virtual void StartPlay() override;
protected:
	UFUNCTION(BlueprintCallable)
	void SpawnCharacter();
protected:
	UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, Category=Setting)
	TSubclassOf<ADemoCharacter> CharacterClass;

	UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, Category=Setting)
	FVector SpawnStart = FVector();

	UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, Category=Setting)
	FVector SpawnEnd = FVector();

	UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, Category=Setting)
	float SpawnInterval = 1;

	UPROPERTY()
	ULineReplicationGraph* ReplicationGraph = nullptr;
};
